package com.xyebank.ledger.conf;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.context.request.async.DeferredResult;

import com.google.common.base.Predicates;

import springfox.documentation.builders.PathSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**
 * 
 * @功能描述: API文档注解配置。ApiInfo为固定部分，可以不增加， " public Docket xxxx",按模块增加。
 * @项目版本: V1.0
 * @项目名称: 享宇金服-数据迁移
 * @创建作者: 普惠达
 * @ClassName: SwaggerConfig
 */
@Configuration
@EnableSwagger2
public class SwaggerConfig {

	@SuppressWarnings("deprecation")
	private ApiInfo ApiInfo() {
		ApiInfo apiInfo = new ApiInfo(
				"享宇金服  数据迁移接口文档", // 大标题
				"产品数据迁移", // 小标题
				"1.0", // 版本
				"", 
				"普惠达", // 作者
				"享宇金服", // 链接显示文字
				"http://127.0.0.1:9999/union/swagger-ui.html"// 网站链接
		);

		return apiInfo;
	}



	@SuppressWarnings("unchecked")
	@Bean
	public Docket inneruser() {
		return new Docket(DocumentationType.SWAGGER_2).groupName("data_transfer")
				.genericModelSubstitutes(DeferredResult.class).useDefaultResponseMessages(false)
				.forCodeGeneration(false).pathMapping("/").select()
				.paths(Predicates.or(PathSelectors.regex("/data_transfer/.*")))// 过滤的接口
				.build().apiInfo(ApiInfo());
	}


}
